package top.mhtools.pigeon.common.exception;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 调取消息平台返回结果
 *
 * @author machen
 * @date 2020/4/24 11:03
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class Result<T> {

    /**
     * 成功标识
     */
    public static final String SUCCESS_CODE = "0";

    /**
     * 编码
     */
    private String code;

    /**
     * 消息，可能会显示给用户
     */
    private String message;

    /**
     * 响应数据
     */
    private T data;

    /**
     * 用于调试的信息，可以带有非常详细的业务数据，便于排查错误。
     */
    private String detail;

    public boolean isSuccess() {
        return SUCCESS_CODE.equals(code);
    }

    public boolean isFail() {
        return !isSuccess();
    }
}
